This invention relates generally to random number generation and more particularly relates to a method of generating a number within a random sequence of numbers using noise presented to or from within a charge coupled device (CCD) or the like.
Computer security is fast becoming an important issue. With the proliferation of computers and computer networks into all aspects of business and daily life xe2x80x94financial, medical, education, government, and communications xe2x80x94the concern over secure file access is growing. One method of providing security from unauthorized access to files is by implementing encryption and cipher techniques. These techniques convert data into other corresponding data forms in a fashion that is reversible. Once encrypted, the data is unintelligible unless first decrypted. RSA, DES, PGP, and CAST are known encryption techniques that are currently believed to provide sufficient security for computer communications and files.
Each of these encryption techniques uses a key or cipher. Such a key is crucial to the encryption/decryption process. Anyone with a correct key, can access information that has previously been encrypted using that key. The entry of the key from the keyboard is impractical since a key remembered by a user for entry is liable to be discovered by an individual desiring unauthorized access to existing encrypted files.
In DES encryption, the key is a numerical value, for example 56 bits in length. Such a key can be used to encrypt and subsequently to decrypt data. The security of the data once encrypted is sufficient that the key is required to access the data in an intelligible form. Thus, the security of the data is related to the security of the key.
In an optical fingerprint input transducer or sensor, the finger under investigation is usually pressed against a flat surface, such as a side of a glass plate, and the ridge and valley pattern of the finger tip is sensed by a sensing means such as an interrogating light beam.
Various optical devices are known which employ prisms upon which a finger whose print is to be identified is placed. The prism has a first surface upon which a finger is placed, a second surface disposed at an acute angle to the first surface through which the fingerprint is viewed and a third illumination surface through which light is directed into the prism. In some cases, the illumination surface is at an acute angle to the first surface, as seen for example, in U.S. Pat. Nos. 5,187,482 and 5,187,748. In other cases, the illumination surface is parallel to the first surface, as seen for example, in U.S. Pat. Nos. 5,109,427 and 5,233,404. Fingerprint identification devices of this nature are generally used to control the building-access or information-access of individuals to buildings, rooms, and devices such as computer terminals.
In capacitive fingerprint imaging devices, a fingertip is pressed against an array of sensing electrodes. Each electrode forms one of two electrodes in a capacitor. Each capacitor is generally pre-charged to provide a known voltage. The placement of the fingertip on the sensing electrodes results in changes to the induced voltages or capacitances and therefore allows for imaging of the fingerprint. Devices of this type are well known in the art.
The use of random numbers has become popular in many aspects of computer science. An annealing algorithm generates an entire process based on an initial random seed. The seed allows the process to be repeated, but its random nature allows the annealing process to run differently each time. In encryption technology, random keys are also used for generating private and public keys. Unfortunately, computers are only capable of generating pseudo random numbers. These numbers may follow known sequences or they may rely on date and time information making them predictable.
Several electronic approaches to random number generation have been proposed. It is known to use a resistive circuit that generates a voltage or current to be measured that lies at an exact value. Voltages above and below the value are interpreted as a one and a zero, respectively. Of course, it will be apparent to those of skill in the art that the selection of one to be above the threshold is arbitrary and that the respective interpretation can be otherwise. The random nature of the binary value is ensured based on the laws of quantum physics. Unfortunately, such a system is influenced by external factors such as temperature, humidity, etc. Also, electronic random number generators for use with a computer are often costly.
When conditions change, existing devices often become unreliable. For example, a resistance based device often produces a sequence of xe2x80x9crandomxe2x80x9d numbers of a dubious nature when temperature changes are significant. As is well known, this is often the case within computer systems, where bright lights are used, near doorways, in electronic devices, in automobiles, and so forth. As such, a more flexible random number generating device and method is needed.
It is, therefore, an object of this invention to provide a cost effective means of generating a number within a random sequence of numbers having a configurable distribution.
It is further an object of the invention to provide means of generating a number within a random sequence of numbers using already existing devices connected to a computer and used for other purposes such as biometric input devices or touchpads.
In accordance with the invention, there is provided, a method of generating a number within a random sequence of numbers using an imaging device comprising a transparent layer for transmitting impinging light of an image provided to the imaging device and an array of imaging sensors within an integrated circuit affixed to a layer of substrate for sensing the transmitted light, the method comprising the steps of:
sensing with the array of imaging sensors an image provided to the device;
providing image data corresponding to the sensed image, wherein the image data comprise an array of pixels, each pixel provided by one imaging sensor of the imaging sensor array; and,
if no image is provided to the device:
sensing, with a first imaging sensor, a first signal to provide first sensed data,
wherein at least a portion comprises noise presented to or from within the device;
sensing, with a second imaging sensor, a second signal to provide second sensed data, wherein at least a portion comprises noise presented to or from within the device;
determining a noise based value from the noise portion within each of the first sensed data and the second sensed data; and, based on the noise based value providing the number within the random sequence of numbers.
A further embodiment comprises the additional steps of:
sensing, with a third imaging sensor, a third signal to provide third sensed data, wherein at least a portion comprises noise presented to or from within the device;
sensing, with a fourth imaging sensor, a fourth signal to provide fourth sensed data, wherein at least a portion comprises noise presented to or from within the device;
determining a first noise based value from the noise portion within each of the first sensed data and the second sensed data;
determining a second noise based value from the noise portion within each of the third sensed data and the fourth sensed data;
based on the second noise based value modifying the first noise based value; and,
based on the modified noise based value providing the number within the random sequence of numbers.
In accordance with another aspect of the invention there is further provided a method of generating a number within a random sequence of numbers using an imaging device comprising a transparent layer for transmitting impinging light of an image provided to the imaging device and an array of imaging sensors within an integrated circuit affixed to a layer of substrate for sensing the transmitted light, the method comprising the steps of:
sensing with the array of imaging sensors an image provided to the device;
providing image data corresponding to the sensed image, wherein the image data comprise an array of pixels, each pixel provided by one imaging sensor of the imaging sensor array; and,
if no relevant image information is provided to at least two imaging sensors of the array of imaging sensors;
sensing, with a first imaging sensor of the at least two imaging sensors, a first signal to provide first sensed data wherein at least a portion comprises noise presented to or from within the device;
sensing, with a second imaging sensor of the at least two imaging sensors, a second signal to provide second sensed data wherein at least a portion comprises noise presented to or from within the device;
determining a noise based value from the noise portion within each of the first sensed data and the second sensed data; and,
based on the noise based value providing the number within the random sequence of numbers.
In accordance with yet another aspect of the invention there is provided a method of generating a number within a random sequence of numbers using a device comprising an array of sensing electrodes, each sensing electrode being one of a pair of electrodes forming a capacitor, the method comprising the steps of:
sensing with the array of sensing electrodes an image of an object in contact with or in close proximity of the device, wherein the sensing electrodes sense a change of capacitance induced by the object;
providing image data corresponding to the sensed image by measuring the change of capacitance; and,
if no image is provided to the device:
sensing, with a first sensing electrodes, a first signal to provide first sensed data, wherein at least a portion comprises noise presented to or from within the device;
sensing, with a second sensing electrodes, a second signal to provide second sensed data, wherein at least a portion comprises noise presented to or from within the device;
determining a noise based value from the noise portion within each of the first sensed data and the second sensed data; and,
based on the noise based value providing the number within the random sequence of numbers.
In accordance with the invention there is provided an imaging device used for generating a number within a random sequence of numbers comprising:
a transparent layer for transmitting impinging light in dependence upon an image provided to the imaging device;
an array of imaging sensors within an integrated circuit affixed to a layer of substrate for sensing the transmitted light and for providing an array of pixels corresponding to the sensed image, each pixel provided by one imaging sensor of the imaging sensor array and comprising a signal in dependence upon input information provided to the imaging sensor, wherein at least a portion of the signal comprises white noise presented to or from within the imaging sensor; and,
a processor for receiving the signals from at least two imaging sensors of the imaging sensor array and for determining a value based on the portions of the signals comprising white noise.
In accordance with another aspect of the invention there is provided a device used for generating a number within a random sequence of numbers comprising:
an array of sensing electrodes, each sensing electrode being one of a pair of electrodes forming a capacitor, for sensing an image of an object in contact with or in close proximity of the device by sensing a change of capacitance induced by the object and for providing image data corresponding to the sensed image; and,
a processor for receiving the signals from at least two sensing electrodes of the array of sensing electrodes and for determining a value based on the portions of the signals comprising white noise.
The advantages of a system in accordance with this invention are numerous. For example, random number generation will vary effectively from computer to computer thereby decreasing chances of predicting random number values.
It is a significant advantage that a device according to the invention is capable of calibration and reconfiguration during normal use.
It is a significant advantage of the present invention that a single sensor array serves multiple purposes.